1. Field of the Invention
This invention relates to data storage management systems, and more particularly to apparatus and methods for recovering corrupted data.
2. Background of the Invention
In a computing environment, data may be archived and accessed on a storage device by input and output operations (“I/O operations”). In certain computing environments (e.g., IBM mainframe operating environments) these input and output operations may be performed on blocks of data. A data block may contain smaller units of data known as records. In some applications, records are fixed-length, meaning that the records have the same length and can store the same amount of data. However, in other applications, records may be variable-length, meaning that the records may have different lengths and store different amounts of data.
Once loaded from a storage device into memory, data within a data block may be accessed by traversing the data block from record to record. Data within a data block containing variable-length records may be accessed using control information fields at the beginning of each variable-length record. These control information fields may indicate the length of the variable-length records in terms of bits or bytes.
To access data in a particular variable-length record, the preceding variable-length records may be traversed with the aid of the control information fields in each record. More specifically, the control information field in each record indicates the length of the record, and thus the distance that needs to be traversed to reach the subsequent record. Records may be traversed in this manner until a desired record is reached. Without accurate information in preceding control information fields, the ability to identify and access subsequent variable-length records becomes very difficult if not impossible.
Unfortunately, data blocks and the records contained therein, like many other data structures, may be subject to data corruption. Not only may data within records be subject to corruption, but data within the control information fields of these records may be subject to corruption. In a data block with one or more corrupted control information fields, individual records may become unidentifiable and thus inaccessible.
In view of the foregoing, what are needed are apparatus, systems, and methods to recover variable-length records in data blocks containing corrupted records and/or corrupted control information fields.